package org.x.user.service;


import com.mybatisflex.core.paginate.Page;
import jakarta.validation.Valid;
import org.x.user.dto.AclAssignDTO;
import org.x.user.dto.CreateRoleDTO;
import org.x.user.dto.RoleQueryDTO;
import org.x.user.dto.UpdateRoleDTO;
import org.x.user.entity.SysRoleEntity;
import com.mybatisflex.core.service.IService;
import org.x.user.vo.RoleDetailVO;
import org.x.user.vo.RoleInfoVO;
import org.x.user.vo.RoleVO;

/**
 * 角色表 服务层。
 *
 * @author mybatis-flex-helper automatic generation
 * @since 1.0
 */
public interface ISysRoleService extends IService<SysRoleEntity> {
    // 创建角色
    RoleVO createRole(CreateRoleDTO createRoleDTO);

    // 修改角色
    RoleVO updateRole(@Valid UpdateRoleDTO updateRoleDTO);

    // 删除角色
    RoleVO deleteRole(Long id);

    // 查询角色列表
    Page<RoleInfoVO> QueryRoleList(RoleQueryDTO roleQueryDTO);

    // 获取角色详情
    RoleDetailVO getDetail(Long id);

    RoleVO assignAcl(@Valid AclAssignDTO aclAssignDTO);
}